/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.dao.implementaciones;

import desarrollosoft.ghce.dao.interfaces.IImagenDAO;
import desarrollosoft.ghce.entidades.EstudioImaginologia;
import desarrollosoft.ghce.entidades.Imagen;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

/**
 *
 * @author ariel
 */
@Repository("imagenDAO")
public class ImagenDAO implements IImagenDAO {

    @PersistenceContext
    private EntityManager entityManager;
    
    @Override
    @Transactional(propagation = Propagation.MANDATORY)
    public void modificarOpersistir(List<Imagen> listaImagenes, EstudioImaginologia estudioImaginologia) {
        /* 
         persist de imagenes que no tengan id, merge de las que si
         segun estado hacer merge o persist del estudio
        */
        for (Imagen imagen : listaImagenes) {
            if (imagen.getId() == null) {
                imagen.setEstudioImaginologia(estudioImaginologia);
                entityManager.persist(imagen);
            } else {
                entityManager.merge(imagen);
            }
        }
    }
    
}
